{
gint x_int, y_int;
- gdk_window_get_pointer (window, &x_int, &y_int, mask);
+ gdk_window_get_device_position (window, device, &x_int, &y_int, mask);
if (axes)
{
GdkDisplay *display;
GdkDeviceWintab *source_device = NULL;
GdkDeviceGrabInfo *last_grab;
+ GdkDevice *device = NULL;
GdkEventMask masktest;
guint key_state;
POINT pt;
device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (_gdk_display));
- window = gdk_window_at_pointer (&x, &y);
+ device = gdk_event_get_device (event);
+ window = gdk_device_get_window_at_position (device, &x, &y);
if (window == NULL)
window = _gdk_root;
/* Break grabs on unmap or minimize */
if (windowpos->flags & SWP_HIDEWINDOW ||
((windowpos->flags & SWP_STATECHANGED) && IsIconic (msg->hwnd)))
- {
- if (pointer_grab != NULL)
- {
- if (pointer_grab->window == window)
- gdk_pointer_ungrab (msg->time);
- }
+ {
+ GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager);
- if (keyboard_grab != NULL &&
- keyboard_grab->window == window)
- gdk_keyboard_ungrab (msg->time);
- }
+ if ((pointer_grab != NULL && pointer_grab->window == window) ||
+ (keyboard_grab != NULL && keyboard_grab->window == window))
+ gdk_device_ungrab (device, msg -> time);
+ }
/* Send MAP events */
if ((windowpos->flags & SWP_SHOWWINDOW) &&
break;
case WM_NCDESTROY:
- if (pointer_grab != NULL)
- {
- if (pointer_grab->window == window)
- gdk_pointer_ungrab (msg->time);
- }
-
- if (keyboard_grab &&
- keyboard_grab->window == window)
- gdk_keyboard_ungrab (msg->time);
+ if ((pointer_grab != NULL && pointer_grab -> window == window) ||
+ (keyboard_grab && keyboard_grab -> window == window))
+ {
+ GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager);
+ gdk_device_ungrab (device, msg -> time);
+ }
if ((window != NULL) && (msg->hwnd != GetDesktopWindow ()))
gdk_window_destroy_notify (window);
/* Must break the automatic grab that occured when the button was
* pressed, otherwise it won't work.
*/
- gdk_display_pointer_ungrab (_gdk_display, 0);
+ gdk_device_ungrab (device, 0);
switch (edge)
{
/* Must break the automatic grab that occured when the button was pressed,
* otherwise it won't work.
*/
- gdk_display_pointer_ungrab (_gdk_display, 0);
+ gdk_device_ungrab (device, 0);
DefWindowProcW (GDK_WINDOW_HWND (window), WM_NCLBUTTONDOWN, HTCAPTION,
MAKELPARAM (root_x - _gdk_offset_x, root_y - _gdk_offset_y));